#ifndef CHESSPIECE_H
#define CHESSPIECE_H


#include "ChessGuiDefines.h"
#include "IChessView.h"
#include "cell.h"
#include "myfunctions.h"
#include "UnitTest.h"

class Board;


enum Color {black=1,white=0,bla=2};

class ChessPiece
{
public:

    int row;
    int col;
    Color pColor;
    ImageName image;
    Board * myBoard;
    int value;


    ChessPiece();
    ChessPiece(const ChessPiece & other);
    ChessPiece(const ChessPiece * other);
    virtual ~ChessPiece();

    virtual void setBoard(Board * board);
    virtual ImageName GetImage();
    virtual void setCell(int row, int col);
    virtual void setImage();
    virtual Color GetColor();
    virtual void GetAllPossible(std::vector <Cell>  & moves)=0;
    virtual bool isPiece();
    virtual int getValue();
};

#endif // CHESSPIECEINT_H
